#ifndef CONFIGDATA_H
#define CONFIGDATA_H

#include <string>

class ConfigData 
{
public:
	static ConfigData* instance();
	void readConfig();
	void writeConfig();
	

private:
	ConfigData();
	~ConfigData();

public:
    std::string MotionReqServerIP;
	int MotionReqServerPort;
	std::string EthercatPortName;
	
	int RobotType; // 1 为三轴龙门或者悬臂；2 为Delta；3 为Scara
	int AxisCount; // 轴的总数
	int AxisSpeed; // 轴速度
	int AxisAcc;   // 轴加速度
	int AxisDec;   // 轴减速度
	
	long AxisCoderValue_x;  // 轴编码器精度数值
	long AxisCoderValue_y;  // 轴编码器精度数值
	long AxisCoderValue_z;  // 轴编码器精度数值
	long AxisCoderValue_r;  // 轴编码器精度数值
	
	// Delta Robot Para
	double rStill;    // 静平台半径
	double rMoving;   // 动平台半径
	double theta1;    // 1 轴与X夹角
	double theta2;    // 2 轴与X夹角
	double theta3;    // 3 轴与X夹角
	double lenActive; // 主动臂（大臂）长度
	double lenPassive;// 从动臂（小臂）长度
	double lenPC;	  // 动平台铰接点与外接圆心距离
	double angleOffset; // Delta原点相对于轴原点偏移
	
	double decRatio;  // 减速机的减速比

};

#endif // CONFIGDATA_H
